/*
 * FileUtil.h
 *  这个工具用于日志类
 *  Created on: 2021年4月5日
 *      Author: san
 */

#ifndef BASE_FILEUTIL_H_
#define BASE_FILEUTIL_H_

#include <string>
#include "noncopyable.h"

namespace san {

class AppendFile : noncopyable {
public:
	AppendFile(const std::string &filename);
	~AppendFile();

	void append(const char *logline, const size_t len);
	void flush();

private:
	size_t write(const char *logline, size_t len);
	FILE *fp_;
	char buffer_[64 * 1024];
};

} /* namespace san */

#endif /* BASE_FILEUTIL_H_ */
